package ar.com.aterrizar.filtrosBusqueda;

import java.util.Collection;
import java.util.LinkedList;
import ar.com.aterrizar.asientos.Asiento;
import ar.com.aterrizar.entidades.Cliente;


public class FiltroPorPrecio extends FiltroOpcional {
	private Cliente cliente;
	private Float precioMinimo;
	private Float precioMaximo;

	public FiltroPorPrecio (Filtro filtro, Cliente cliente, Float precioMinimo, Float precioMaximo){
		this.filtroDecorado=filtro;
		this.cliente = cliente;
		this.precioMinimo = precioMinimo;
		this.precioMaximo = precioMaximo;
	}
	
	@Override
	public Collection<Asiento> filtrar(Collection<Asiento> new_asientos){
		Collection<Asiento> asientos = this.filtroDecorado.filtrar(new_asientos);
		Collection<Asiento> asientos_filtrados = new LinkedList<Asiento>();
		for(Asiento asiento: asientos){
			if((asiento.getPrecio(cliente) >= this.precioMinimo)&&(asiento.getPrecio(cliente) <= this.precioMaximo)){				
				asientos_filtrados.add(asiento);
			}
		}
		return asientos_filtrados;
	}
}
